<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<%@ include file="/include/taglibs.jsp"%>
<html>
<head>
	<title>分配菜单</title>
	<%@ include file="/include/openstyles.jsp"%>
	<script type="text/javascript" src="${ctx}/assets/admin/LingUI/js/ztree/js/jquery.ztree.core-3.5.js" ></script>		<!-- 树插件核心 -->
	<script type="text/javascript" src="${ctx}/assets/admin/LingUI/js/ztree/js/jquery.ztree.exedit-3.5.js" ></script>		<!-- 树编辑插件 -->
	<script type="text/javascript" src="${ctx}/assets/admin/LingUI/js/ztree/js/jquery.ztree.excheck-3.5.js" ></script>
	<script type="text/javascript" src="${ctx}/assets/admin/LingUI/js/input.js"></script>
	<script type="text/javascript" src="${ctx}/assets/uc/js/common.js"></script>
</head>
<body>
<div class="row">
	<div class="col-xs-12">
		<div class="row xtgltree">
			<div class="widget-box widget-color-blue2" style="height:500px;min-height:420px; height:auto!important">
				<div class="widget-header">
					<h4 class="widget-title lighter smaller">菜单</h4>
				</div>
				<div class="widget-body">
					<div class="widget-main padding-8">
						<div class="zTreeDemoBackground">
							<ul id="treeDemo" class="ztree"></ul>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>
<script type="text/javascript">
	/**
	 * 设置全局变量
	 */
	var tree ="treeDemo";//树id
	var $tree=$("#treeDemo");
	var zTree; //树对象
	jQuery(function($){
		var setting = {
			async:{
				autoParam: ["id=id"],
				enable:true,
				type:"GET",
				dataType:'json',
				url:"${ctx}/${frameworkPath}/role/user/${param.role}"
			},
			data: {
				simpleData: {
					enable: true
				}
			},
			check: {
				enable: true,
				chkStyle:'checkbox'
			},
			callback: {
				onAsyncSuccess: onAsyncSuccess	//加载完成后回调
			}
		};
		zTree=$.fn.zTree.init($tree, setting); //树初始化

		/**
		 * 数据加载完成后触发事件
		 */
		function onAsyncSuccess(){
			treeOnAsyncSuccess();//数据加载完成后触发事件
		}

	});

	/**
	 * 数据加载完成后触发事件
	 */
	var treeOnAsyncSuccess=function(){

		asyncNodes(zTree.getNodes());
		zTree.expandAll(true);
	}

	function asyncNodes(nodes) {
		if (!nodes) return;
		var zTree = $.fn.zTree.getZTreeObj("treeDemo");
		for (var i=0, l=nodes.length; i<l; i++) {
			if (nodes[i].isParent && nodes[i].zAsync) {
				asyncNodes(nodes[i].children);
			}
			else {
				zTree.reAsyncChildNodes(nodes[i], "refresh", true);
			}
		}
	}

	function submit(){
		var retObj =new Object();

		var users=zTree.getCheckedNodes(true);
		var userArray = new Array();
		$.each(users, function(i,val){
			userArray.push(val.id);
		});

		var uncheckedUsers=zTree.getCheckedNodes(false);
		var uncheckedUseArray = new Array();
		$.each(uncheckedUsers, function(i,val){
			uncheckedUseArray.push(val.id);
		});

		$.ajax({
			type : 'POST',
			url : '${ctx}/${frameworkPath}/role/user',
			traditional : true,
			async :false,
			dataType:'json',
			data : {'checked' : userArray,'unchecked':uncheckedUseArray,role:'${param.role}'},
			success : function(data) {
				if (data.success) {
					retObj.text ="保存成功！";
					retObj.state = true;
				} else {
					retObj.text = text;
					retObj.state =false;
				}
			},
			error : function(XmlHttpRequest, textStatus, errorThrown) {
				retObj.text = "保存失败";
				retObj.state =false;
			}
		});
		return retObj;
	}
</script>
</body>
</html>